package Interfaz;

import java.io.Serializable;
import java.util.Date;

public class EnvioDTO implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 2520596566743789696L;
	private int envioId;
	private String idCliente;
	private Date fechaRecepcion, fechaEntregaComprometida, fechaLimiteDeDespacho,fechaEntregaReal;
	private String nombreSucursalOrigen, nombreSucursalDestino;
	private String nombreDestinatario, apellidoDestinatario, dniDestinatario;
	private float anchoCM, altoCM, profundidadCM, pesoKG, volumenM3;
	private int refrigerado, fragilidad, peligrosidad, apilable;
	private String refrigeradoValor, fragilidadValor, peligrosidadValor;
	private String especiales;
	private String manifiesto;
	private boolean entregado, enDestino, enViaje;
	
	public EnvioDTO() {

	}

	public EnvioDTO(int envioId, String idCliente, Date fechaRecepcion,
			Date fechaEntregaComprometida, Date fechaLimiteDeDespacho,
			String nombreSucursalOrigen, String nombreSucursalDestino,
			String nombreDestinatario, String apellidoDestinatario,
			String dniDestinatario, float anchoCM, float altoCM,
			float profundidadCM, float pesoKG, float volumenM3,
			int refrigerado, int fragilidad, int peligrosidad, int apilable,
			String especiales, String manifiesto, boolean entregado, boolean enDestino, Date fechaEntregaReal, boolean enViaje) {
		this.envioId = envioId;
		this.idCliente = idCliente;
		this.fechaRecepcion = fechaRecepcion;
		this.fechaEntregaComprometida = fechaEntregaComprometida;
		this.fechaLimiteDeDespacho = fechaLimiteDeDespacho;
		this.nombreSucursalOrigen = nombreSucursalOrigen;
		this.nombreSucursalDestino = nombreSucursalDestino;
		this.nombreDestinatario = nombreDestinatario;
		this.apellidoDestinatario = apellidoDestinatario;
		this.dniDestinatario = dniDestinatario;
		this.anchoCM = anchoCM;
		this.altoCM = altoCM;
		this.profundidadCM = profundidadCM;
		this.pesoKG = pesoKG;
		this.volumenM3 = volumenM3;
		this.refrigerado = refrigerado;
		this.fragilidad = fragilidad;
		this.peligrosidad = peligrosidad;
		this.apilable = apilable;
		this.especiales = especiales;
		this.manifiesto = manifiesto;
		this.entregado = entregado;
		this.enDestino = enDestino;
		this.fechaEntregaReal = fechaEntregaReal;
		this.enViaje = enViaje;
		this.definirValores();
	}
	
	private void definirValores() {
		refrigeradoValor = (refrigerado == 1)? "Si" : "No";
		switch (fragilidad) {
			case 1:
				fragilidadValor = "Extremadamente fragil";
				break;
			case 2:
				fragilidadValor = "Fragil";
				break;
			case 3:
				fragilidadValor = "Normal";
				break;
			case 4:
				fragilidadValor = "Resistente";
				break;
		}
		
		switch (peligrosidad) {
		case 1:
			peligrosidadValor = "Extremadamente peligroso";
			break;
		case 2:
			peligrosidadValor = "Peligroso";
			break;
		case 3:
			peligrosidadValor = "Inocuo";
			break;
	}
	}

	public String getIdCliente() {
		return idCliente;
	}

	public void setIdCliente(String idCliente) {
		this.idCliente = idCliente;
	}

	public Date getFechaRecepcion() {
		return fechaRecepcion;
	}

	public void setFechaRecepcion(Date fechaRecepcion) {
		this.fechaRecepcion = fechaRecepcion;
	}

	public Date getFechaEntregaComprometida() {
		return fechaEntregaComprometida;
	}

	public void setFechaEntregaComprometida(Date fechaEntregaComprometida) {
		this.fechaEntregaComprometida = fechaEntregaComprometida;
	}

	public Date getFechaLimiteDeDespacho() {
		return fechaLimiteDeDespacho;
	}

	public void setFechaLimiteDeDespacho(Date fechaLimiteDeDespacho) {
		this.fechaLimiteDeDespacho = fechaLimiteDeDespacho;
	}

	public String getNombreSucursalOrigen() {
		return nombreSucursalOrigen;
	}

	public void setNombreSucursalOrigen(String nombreSucursalOrigen) {
		this.nombreSucursalOrigen = nombreSucursalOrigen;
	}

	public String getNombreSucursalDestino() {
		return nombreSucursalDestino;
	}

	public void setNombreSucursalDestino(String nombreSucursalDestino) {
		this.nombreSucursalDestino = nombreSucursalDestino;
	}

	public String getNombreDestinatario() {
		return nombreDestinatario;
	}

	public void setNombreDestinatario(String nombreDestinatario) {
		this.nombreDestinatario = nombreDestinatario;
	}

	public String getApellidoDestinatario() {
		return apellidoDestinatario;
	}

	public void setApellidoDestinatario(String apellidoDestinatario) {
		this.apellidoDestinatario = apellidoDestinatario;
	}

	public String getDniDestinatario() {
		return dniDestinatario;
	}

	public void setDniDestinatario(String dniDestinatario) {
		this.dniDestinatario = dniDestinatario;
	}

	public float getAnchoCM() {
		return anchoCM;
	}

	public void setAnchoCM(float anchoCM) {
		this.anchoCM = anchoCM;
	}

	public float getAltoCM() {
		return altoCM;
	}

	public void setAltoCM(float altoCM) {
		this.altoCM = altoCM;
	}

	public float getProfundidadCM() {
		return profundidadCM;
	}

	public void setProfundidadCM(float profundidadCM) {
		this.profundidadCM = profundidadCM;
	}

	public float getPesoKG() {
		return pesoKG;
	}

	public void setPesoKG(float pesoKG) {
		this.pesoKG = pesoKG;
	}

	public float getVolumenM3() {
		return volumenM3;
	}

	public void setVolumenM3(float volumenM3) {
		this.volumenM3 = volumenM3;
	}

	public int getRefrigerado() {
		return refrigerado;
	}

	public void setRefrigerado(int refrigerado) {
		this.refrigerado = refrigerado;
	}

	public int getFragilidad() {
		return fragilidad;
	}

	public void setFragilidad(int fragilidad) {
		this.fragilidad = fragilidad;
	}

	public int getPeligrosidad() {
		return peligrosidad;
	}

	public void setPeligrosidad(int peligrosidad) {
		this.peligrosidad = peligrosidad;
	}

	public int getApilable() {
		return apilable;
	}

	public void setApilable(int apilable) {
		this.apilable = apilable;
	}

	public String getEspeciales() {
		return especiales;
	}

	public void setEspeciales(String especiales) {
		this.especiales = especiales;
	}

	public String getManifiesto() {
		return manifiesto;
	}

	public void setManifiesto(String manifiesto) {
		this.manifiesto = manifiesto;
	}
	
	public boolean isOrigenIgualDestino() {
		return this.nombreSucursalOrigen.compareTo(this.nombreSucursalDestino) == 0;
	}

	public int getEnvioId() {
		return envioId;
	}

	public void setEnvioId(int envioId) {
		this.envioId = envioId;
	}

	public String getRefrigeradoValor() {
		return refrigeradoValor;
	}

	public void setRefrigeradoValor(String refrigeradoValor) {
		this.refrigeradoValor = refrigeradoValor;
	}

	public String getFragilidadValor() {
		return fragilidadValor;
	}

	public void setFragilidadValor(String fragilidadValor) {
		this.fragilidadValor = fragilidadValor;
	}

	public String getPeligrosidadValor() {
		return peligrosidadValor;
	}

	public void setPeligrosidadValor(String peligrosidadValor) {
		this.peligrosidadValor = peligrosidadValor;
	}

	public Date getFechaEntregaReal() {
		return fechaEntregaReal;
	}

	public void setFechaEntregaReal(Date fechaEntregaReal) {
		this.fechaEntregaReal = fechaEntregaReal;
	}

	public boolean isEntregado() {
		return entregado;
	}

	public void setEntregado(boolean entregado) {
		this.entregado = entregado;
	}

	public boolean isEnDestino() {
		return enDestino;
	}

	public void setEnDestino(boolean enDestino) {
		this.enDestino = enDestino;
	}

	public boolean isEnViaje() {
		return enViaje;
	}

	public void setEnViaje(boolean enViaje) {
		this.enViaje = enViaje;
	}
	
	
}
